crowbook-text-processing
Some utilities functions for processing texts.
These functions were originally written for Crowbook, but have been published on a separate crate and under a less restrictive license (MPL instead of LGPL) so they can be used elsewhere.
Example
use ;
let s = " Some string with too much whitespaces & around 1% \
characters that might cause trouble to HTML or LaTeX.";
// Remove unnecessary whitespaces (but doesn't trim at is can have meaning)
let new_s = remove_whitespaces;
// Escape forHTML
println!;
// Escape for LaTeX
println!;
// Replace quotes with typographic quotation marks
let s = r#"Some "quoted string" and 'another one'."#;
let new_s = typographic_quotes;
assert_eq!;
// Replace three consecutive dots with ellipsis character
let s = ellipsis;
assert_eq!;
// Format whitespaces according to french typographic rules, using
// the appropriate non-breaking spaces where needed
let s = " Une chaîne en français ! On voudrait un résultat \
« typographiquement correct ».";
let french = new;
println!;
println!;
Requirements
rustc >= 1.6.0
Semantic versioning
While not yet at version 1.0
, this crates tries to follows semantic
versioning in the following way:
- an increase of
x
in0.x.y
means breaking changes. - an increase of
y
in0.x.y
means non-breaking changes.